A seguir algumas técnicas que combinadas melhoram a eficiência do processo de implementação de testes:
-
Testes manuais: Deve-se atentar para os testes que possuem melhores resultados quando realizados
manualmente, é o caso de testes de usabilidade e testes que requerem a validação da precisão e
qualidade dos resultados físicos de um sistema de software, nesses casos a validação manual é uma solução
melhor que os testes automatizados.
-
Testes programados: Essa prática é realizada da mesma maneira e com os mesmos princípios gerais da
programação de software, os métodos e as ferramentas usados na programação de software são aplicáveis e úteis à
programação da automatização de testes. Com a utilização de um ambiente padrão de desenvolvimento de software ou de
um ambiente de desenvolvimento especializado para a automatização de testes o testador fica livre para utilizar
efetivamente as características e a potência do ambiente de desenvolvimento. Atente para evitar os seguintes
problemas:
-
-
Desperdicio de tempo com tarefas de programação: Risco do programador se envolver com as características do
ambiente de programação e levar muito tempo criando soluções modernas e sofisticadas para os problemas
que poderiam ser obtidas de modo mais simples.
-
Introdução de erros no código do programa: Erros podem ser introduzidos no
código que implementa o teste se os algoritmos usados na implementação de testes automatizados se
basearem nos mesmos algoritmos incorretos usados pela própria implementação do software.
-
Testes registrados ou capturados: Essa técnica consiste no uso de ferramentas de automatização de testes que
permitem registrar ou capturar a interação humana com um aplicativo de software e produzir a descrição passo a
passo de um teste básico. Existem muitas opções de ferramentas para esses casos e estão centrados
principalmente na interação com o cliente e a interface do usário de um aplicativo ou nas mensagens enviadas e
recebidas na rede entre o aplicativo cliente e um ou mais aplicativos servidor. Entretanto esta técnica de
teste exige a inclusão adicional de pontos de observação que capturem e comparem estados do sistema
durante a execução de testes subsequentes para que não caia no problema dos testes não apenas capturarem a
interação entre os aplicativos sem ter utilidade dessa forma na abordagem de testes automatizados.
-
Testes gerados: Alguns dos softwares mais sofisticados para automatização de testes permite a geração real
de vários aspectos do teste, tanto os aspectos procedurais como os aspectos dos dados de teste, com base nos
algoritmos de geração. Esse tipo de automatização pode desempenhar uma função útil no esforço de teste, mas não
deve ser considerado como a única abordagem utilizada.
|